c语言试题:编写一个程序,求重复任意输入字符串的ASCII码。提示:使用强制转换方法将字符转换成整

c语言试题:编写一个程序,求重复任意输入字符串的ASCII码。提示:使用强制转换方法将字符转换成整数(除回车)如果字符超过5个输出每5个分行

#include <stdio.h>

int main(void) 
{
int c,i=0;
while((c=getchar())!='\n')
{
printf("%d%c",c,++i%5?' ':'\n');
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-30
#include "stdio.h"
char c = 0;
void _tmain(int argc, _TCHAR* argv[])
{

while (1)
{
printf("输入任意字符:\n");
scanf("%c",&c);
printf("输出对应ASCII码:\n");
printf("%d\n",c);
getchar();
}
}
第2个回答  2014-12-10
具体意思没有看明白,是要求输入一个字符串,然后将字符串的每一个字符转换成整数,然后输出吗?

重复任意输入字符串的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

追问

怎么改才会循环输入

本回答被网友采纳
第3个回答  2017-09-29
scanf("%c", &ch);

printf("%d\r\n", ch);

~~~~~~~~~~~~~~~~~~~~~~~~~
相似回答