- 输入2个正数a和n,求a+aa+aaa+……+a(n个a)之和;
2+22+222+2222+22222(此时n=5,a=2)
#include<stdio.h>
int main()
{
int t,a,n,s,i;
s=0;
t=0;
printf("请输入一个n:");
scanf("%d",&n);
printf("请输入一个a:");
scanf("%d",&a);
for(i=1;i<=n;i++)
{
t=t*10+a;
s=s+t;
printf("%d+",t);
}
printf("\b=%d\n",s);
}
- 一维数组的初始化,质数的判断(函数),以及某数的质数因子输出;
- 水仙花数,完数;
#include <stdio.h>
int main()
{
int i,a,b,c;
for(i=100;i<=999;i++)
{
a=i/100;
b=i%100/10;
c=i%10;
if(i==(a*a*a+b*b*b+c*c*c))
{
printf("%d ",i);
}
}
}
完数
#include <stdio.h>
int main()
{
int i,n,sum;
for(n=1;n<=1000;n++)
{
sum=0;
for(i=1;i<=n/2;i++)
{
if(n%i==0)
{
sum+=i;
}
}
if(n==sum)
{
printf("%d ",n);
printf("\n");
}
}
}
- 冒泡排序,选择排序;
冒泡 -----
选择---
二分 --
https://blog.csdn.net/ao_mike/article/details/102837833
输入一个整数,判断这个数的位数,各位数字之和,并逆序输出这个数;
#include<stdio.h>
main()
{
int n,i,sum=0,count=0,temp=0;
printf("请输入n的值:");
scanf("%d",&n);
for(i=n;i;i=i/10)
{
sum+=i%10;
temp=temp*10+i%10;
count++;
}
printf("%d是%d位数\n",n,count);
printf("%d各位数之和是%d\n",n,sum);
printf("%d的逆序输出是%d\n",n,temp);
}
//也可以用三个函数来写,记得函数原型声明
int fun_ws(int n)
{
int i,count=0;
for(i=n;i;i=i/10)
count++;
return count;
}
int fun_wssum(int n)
{
int i,sum=0;
for(i=n;i;i=i/10)
sum+=i%10;
return sum;
}
int fun_nx(int n)
{
int i,temp=0;
for(i=n;i;i=i/10)
temp=temp*10+i%10;
return temp;
}
- 斐波拉契数列,以及由其引申的分数序列和;交错序列的和;
- 函数——递归,n!和1+2+3+4+….+n ;
- if-else语句描述分段函数;
- 条件表达式,switch-case语句;
- 逻辑表达式,输入scanf和输出printf的相关输出格式需要注意;
- 辗转相除法求最大公约数,最小公倍数;
- 结构体的定义,输入与输出;
- 指针的定义,输出与输出,用函数实现两个数的交换;
- 数组名做为函数的形参的用法;
- 自定义函数,实现字符串的比较;
- 编译预处理:带参数的宏;
- 位运算:按位与,按位或,按位异或,按位取反,左移运算,右移运算;
- 新建链表,新增节点,删除节点;
其他细节问题请大家自行复习。