2。从键盘上输入一个字符串存入str数组(小于30个字符),编写一个程序将该数组中的字符颠倒后仍存入原数组中。
/* 1。从键盘上输入n(n<50)个任意位的正整数m(m<32767),将每个整数的各位数字之和存放在数组a中。 */
#include <stdio.h> #include <stdlib.h>
void process(int *a,int totl_num);
void process(int *a,int total_number) { int i; int temp; for(i=0;i<total_number;i++) { do { printf("please enter th%d number.(1~32767)\n",i+1); scanf("%d",a+i); } while(*(a+i)<0||*(a+i)>32767); } for(i=0;i<total_number;i++) { temp=*(a+i); *(a+i)=0; while(temp>0) { *(a+i)+=temp%10; temp=temp/10; } } }
int main() { int i; int total_number; int *a; puts("please enter the total_number."); scanf("%d",&total_number); a=(int *)malloc(total_number*sizeof(int)); if(!a) exit(1); process(a,total_number); for(i=0;i<total_number;i++) printf("The sum of th%d number's digits is %d:\n",i+1,*(a+i)); return 0; }
/* 2。从键盘上输入一个字符串存入str数组(小于30个字符),编写一个程序将该数组中的字符颠倒后仍存 入原数组中。 */
#include <stdio.h> #include <string.h>
#define MAXSTRING 30
int main() { char str[MAXSTRING]; puts("please enter the string."); gets(str); strrev(str); puts("the string after reversing is as following."); puts(str); return 0; }