指针问题
从键盘输入一字符串到一维数组a中,将其中的小写字母改为大写字母输出;同时将所有的数字字符转成数字之后,求和输出。例如:输入字符串"adW3q5T8w",
则输出:ADW3Q5T8W
16(注:3+5+8=16) 本帖最后由 风过无痕1989 于 2020-12-12 15:59 编辑
// 从键盘输入一字符串到一维数组a中,将其中的小写字母改为大写字母输出;同时将所有的数字字符转成数字之后,求和输出
#include<stdio.h>
void main()
{
int i, n = 0, sum = 0;
char ch, *p, a;
while ((ch = getchar()) != '\n')
{
a = ch;
n++;
}
p = a;
for (i = 0;i < n;i++)
{
if (*(p + i) <= 'z' && *(p + i) >= 'a')
*(p + i) -= 32;
if (*(p + i) >= '0' && *(p + i) <= '9')
sum += *(p + i) - 48;
}
for (i = 0;i < n;i++)
{
printf("%c", a);
}
printf("\n");
printf("%d\n", sum);
}
本帖最后由 rt3 于 2020-12-12 15:40 编辑
#include<stdio.h>
#include<string.h>
int main()
{
char a={'\0'};
scanf("%s",&a);
int sum=0;
for(int b=0;b<90;b++){
if((a>=97)&&(a<=122)){
a-=32;
}else if((a>=48)&&(a<=57)){
sum+=a-48;
}else if(a=='\0')break;
}
printf("%s\n%d\n",a,sum);
return 0;
}
页:
[1]