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. 新建鏈表,新增節點,刪除節點;

其他細節問題請大家自行復習。

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