具体意思没有看明白,是要求输入一个字符串,然后将字符串的每一个字符转换成整数,然后输出吗?
重复任意输入字符串的ASCII码,这个具体是啥意思?最开始的重复是啥意思呀。
追问对
追答是这个意思?
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
char a[300];
int loop;
int len;
gets(a);
len = (int)strlen(a);
for(loop = 0; loop < len; loop++)
{
if(loop % 5 == 0)
{
printf("\n"); //输出5个,打印一个换行符
}
printf("%d ", (int)a[loop]);
}
return 0;
}
追问为什么你的要空一行在输出
追答把for循环里面的判断条件改一下不就行了?
for(loop = 0; loop < len; loop++)
{
if(loop % 5 == 0 && loop != 0)
{
printf("\n"); //输出5个,打印一个换行符
}
printf("%d ", (int)a[loop]);
}
追问👍
对了输入一个字符要用回车分行
Sample Input
a
b
*
+
0
G
n
Sample Output
97 98 42 43 48
71 110
求大神帮忙
追答那怎么知道输入结束了?
追问再按一次回车结束就行了吗
追答这个我不知道呀,看你们是怎么要求的,连续两次回车算退出?
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
char a[300] = {0};
int loop = 0;
int len;
char ch;
int flag = 0;
while(1)
{
ch = getchar();
if(ch == '\n')
{
if(flag == 1) //连续两次回车
{
break;
}
flag = 1;
continue; //回车不要,继续输入
}
flag = 0;
a[loop] = ch;
loop++;
}
len = (int)strlen(a);
for(loop = 0; loop < len; loop++)
{
if(loop % 5 == 0)
{
printf("\n"); //输出5个,打印一个换行符
}
printf("%d ", (int)a[loop]);
}
return 0;
}
1
2
d
f
a
v
5
4
49 50 100 102 97
118 53 52
追问怎么改才会循环输入
本回答被网友采纳