1.从键盘上输入一字符串,计算里面连续数字串的和.如:”12qw32fds22” 输出12+32+22的和。
#include <stdio.h>
#define MAX_SIZE 30
int main()
{
char str[MAX_SIZE];
int i;
int sum = 0;
int result = 0;
printf("Please input a string:\n");
scanf("%s",str);
for(i = 0; str[i] != '\0'; i++)
{ /* 编程总结:连续判断用while,单次判断用if,对比25行*/
while(str[i] >= '0' && str[i] <= '9')
{
sum = sum * 10 + (str[i] - '0');
i++;
}
result = result + sum;
sum = 0;
}
printf("\nThe result is: %d\n",result);
return 0;
}
2.从键盘输入一个整数,将这个整数转换成字符串输出。
#include <stdio.h>
#include <string.h>
int main()
{
int num;
int i;
char temp;
char str[20];
printf("Please input a number:\n");
scanf("%d",&num);
for(i = 0; num != 0; i++)
{
str[i] = num % 10 + '0';
num = num / 10;
}
str[i] = '\0';
for(i = 0; i < strlen(str)/2; i++)//此处循环条件不加等号
{
temp = str[i];
str[i] = str[strlen(str)-i-1];
str[strlen(str)-i-1] = temp;
}
printf("The string is:%s\n",str);
return 0;
}