输出自己的12位学号和姓名,然后把自己的22位学号的每一位数字,存储在一个一维数组中,作为数组的12个数组元素,先输出12个数组元素,再计算12个数字之和并输出
#include<stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
char number1[13]="\0"; //负责接收学号
int number2[12]; //学号转换后接收
char name[10]="\0"; //储存名字
int i; //充当循环变量
int sum; //求和变量
char num1[6]="\0", num2[6]="\0"; //12为太长了,我们用两个六位存贮,之后转换为数字处理
int num3, num4; //接收两个六位数字
printf("请输入学号:\n");
gets(number1);
for (i = 0; i < 6; i++) //分给num1.num2
{
num1[i] = number1[i];
num2[i] = number1[i + 6];
}
printf("请输入姓名:");
gets(name);
num3 = atoi(num1); //将两个六位转换为数字,以转换为数组
num4 = atoi(num2);
for (i = 5, sum = 0; i >-1; i--) //通过处理使其以12个元素形式储存在数组中
{
number2[i] = num3 % 10;
num3 = num3 / 10;
}
for (i = 11; i >5; i--)
{
number2[i] = num4 % 10;
num4 = num4 / 10;
}
for (i = 0; i < 12; i++)
{
sum = sum + number2[i]; //进行求和
}
printf("%s学号为:",name);
for (i = 0; i < 12; i++)
{
printf("%d", number2[i]);
}
printf("和为:%d",sum);
return 0;
}