為什么下面這段代碼在專業系統上提交會有問題,說有例外。
將字串的首字母大寫
#include<stdio.h>
int main()
{
char a[50];
int i,n;
for(i=0;i<50;i++)
{
scanf("%c",&a[i]);
if(a[i]=='\n')break;
}
n=i;
if(a[0]<='z'&&a[0]>='a')
{
a[0]=a[0]-32;
}
for(i=1;i<n;i++)
{
if(a[i-1]==' ')
{
if(a[i]>='a'&&a[i]<='z')
{
a[i]=a[i]-32;
}
}
}
for(i=0;i<n;i++)
{
printf("%c",a[i]);
}
return 0;
}
uj5u.com熱心網友回復:
有啥例外char a[50];
int i, n;
for (i = 0; i < 50; i++)
{
scanf("%c", &a[i]);
if (a[i] == '\n')
break;
}
n = i;
if (a[0] <= 'z' && a[0] >= 'a')
{
a[0] = a[0] - 32;
}
for (i = 1; i < n; i++)
{
if (a[i - 1] == ' ')
{
if (a[i] >= 'a' && a[i] <= 'z')
{
a[i] = a[i] - 32;
}
}
}
for (i = 0; i < n; i++)
{
printf("%c", a[i]);
}
uj5u.com熱心網友回復:
說超時或者記憶體溢位啥的,自己編譯可以,在它的提交系統上有問題uj5u.com熱心網友回復:
# include <stdio.h>
# define N 20 //////////////////
int main() {
char a[N];///////
int i,n;
for(i=0;i<N;i++) {//////////
scanf("%s",a[i]);/////////////
if(a[i]=='\n')break;
}
n=i;
if(a[0]<='z'&&a[0]>='a') {
a[0]=a[0]-32;
}
for(i=1;i<n;i++) {
if(a[i-1]==' ') {
if(a[i]>='a'&&a[i]<='z') {
a[i]=a[i]-32;
}
}
}
// for(i=0;i<n;i++) {
printf("%s",a);//////////
// }
return 0;
}
看行
不
uj5u.com熱心網友回復:
都正常啊,應該沒什么問題轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/113006.html
標籤:基礎類
上一篇:歡迎C++同學前來幫忙!
