<5>/*------------------------------------------------------
【程序改错】请在FOUND注释行下一行找出错误,并将正确写法填写到对应空格内。
--------------------------------------------------------
功能:输入字符序列,字符序列以特殊字符“#”结束。程序从前向后依次读入字符,并翻译出新的字符输出。翻译的规则是:如果当前读入的字符是数字符,如果该字符的面值为n, 则它的后一个字符(包括数字符)需重复输出n+1次如果当前读入的字符不是数字符,则输出该字符。输出时,以上述一次翻译为一组,不同组间输出用一个空白字符隔开。翻译直至当前读入的字符为字符‘#’,结束翻译和输出。
------------------------------------------------------*/
#include
void main()
{
char ch,nch;
int count;
int k;
printf("Enter string.\n");
scanf("%c",&ch);
/**********FOUND**********/
while(ch='#')
{
if(ch>='0'&&ch<='9')
{
/**********FOUND**********/
count=ch-'0'-1;
scanf("%c",&nch);
for(k=0;kprintf("%c",nch);
}
else
/**********FOUND**********/
printf("%f",ch);
printf(" ");
scanf("%c",&ch);
}
printf("#\n");
}
【程序改错】请在FOUND注释行下一行找出错误,并将正确写法填写到对应空格内。
--------------------------------------------------------
功能:输入字符序列,字符序列以特殊字符“#”结束。程序从前向后依次读入字符,并翻译出新的字符输出。翻译的规则是:如果当前读入的字符是数字符,如果该字符的面值为n, 则它的后一个字符(包括数字符)需重复输出n+1次如果当前读入的字符不是数字符,则输出该字符。输出时,以上述一次翻译为一组,不同组间输出用一个空白字符隔开。翻译直至当前读入的字符为字符‘#’,结束翻译和输出。
------------------------------------------------------*/
#include
void main()
{
char ch,nch;
int count;
int k;
printf("Enter string.\n");
scanf("%c",&ch);
/**********FOUND**********/
while(ch='#')
{
if(ch>='0'&&ch<='9')
{
/**********FOUND**********/
count=ch-'0'-1;
scanf("%c",&nch);
for(k=0;k
}
else
/**********FOUND**********/
printf("%f",ch);
printf(" ");
scanf("%c",&ch);
}
printf("#\n");
}
举一反三
- 输入任意一个字符,要求:(1)判断其是大写字母、小写字母还是数字字符;(2)若是大写字母,转换成小写输出;若是小写字母,转换成大写输出;若是数字字符,转换成数字输出;若是其他字符照原样输出。 #include int main() { char ch; int d; scanf(___1___); if(___2___) { printf("是大写字母"); ___3___; printf("转换成小写字母为%c ",ch); } else if(___4___) { printf("是小写字母"); ___5___; printf("转换成大写字母为%c ",ch); } else if(___6___) { printf("是数字字符"); ___7___; printf("转换成数字为%d ",d); } else { printf("是其他字符"); printf("照原样输出为%c ",ch); } return 0; }
- 在划线处填写适当内容完成程序,本程序当输入字符是数字时输出字符串“number”,否则输出“none” #include int check_number(char x){ if ((x>='0')&&(x<='9')) return 1; else return 0; } int main(void){ char ch; while(1){ scanf("%c",&ch); if(ch=='#') break; if(__________) printf("number\n"); else printf("none\n"); } return 0; }
- 输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变。 main() { char ch; scanf (" %c ", &ch); if ( ) ch = ch + 32; else if (ch > = 'a' && ch < = 'z') ; printf (" %c ", ch); }
- 有以下程序段 char ch; int k; ch=′a′; k=12; printf("%c,%d,",ch,ch,k); printf("k=%d ",k); 已知字符a的ASCII码值为97,则执行上述程序段后输出结果是
- 有以下程序段,已知字符’a’的ASCll十进制代码为97,则执行下述程序段后输出结果是( )。 char ch; int k; ch=’a’; k=12; printf('%c,%d,',ch,ch); printf('k=%d',k);