C语言期末复习1.8

 

  1. 输入2个正数a和n,求a+aa+aaa+……+a(n个a)之和;

       2+22+222+2222+22222(此时n=5a=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);
}
  1. 一维数组的初始化,质数的判断(函数),以及某数的质数因子输出;

  1. 水仙花数,完数;
#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");
}
}	
}
  1. 冒泡排序,选择排序;

冒泡 ----- 

选择---

二分  --

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;
}   
  1. 斐波拉契数列,以及由其引申的分数序列和;交错序列的和;
  2. 函数——递归,n!和1+2+3+4+….+n ;
  3. if-else语句描述分段函数;
  4. 条件表达式,switch-case语句;
  5. 逻辑表达式,输入scanf和输出printf的相关输出格式需要注意;
  6. 辗转相除法求最大公约数,最小公倍数;
  7. 结构体的定义,输入与输出;
  8. 指针的定义,输出与输出,用函数实现两个数的交换;
  9. 数组名做为函数的形参的用法;
  10. 自定义函数,实现字符串的比较;
  11. 编译预处理:带参数的宏;
  12. 位运算:按位与,按位或,按位异或,按位取反,左移运算,右移运算;
  13. 新建链表,新增节点,删除节点;

其他细节问题请大家自行复习。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章