程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言學習_test3

C語言學習_test3

編輯:關於C語言

1.判斷一個數是都是回文數

#include


int main(void)
{
int a[100] = {0};
int n;
printf("input n:");
scanf("%d", &n);
int i, k, j;
k = 0;
j = 0;


while(n != 0)
{
a[k++] = n % 10;
n = n / 10;
j++;
}
for(i = 0; i < j; i++)
if(a[i] == a[j-i-1])
printf("ok ");
else
printf("no");
return 0;
}

如果全部輸出ok,則是回文數,如果有一個no,則不是回文數。

這段代碼將數轉換成數組,利用數組的優勢來確定是否是回文數,效率雖然不高,但是這種思想還是挺不錯。


用指針實現排序:

#include


int main(void)
{
int i, data[8], *p1, *p2, temp;
p1 = data;
printf("input data:");
for(i = 0; i < 8 ; i++)
{
scanf("%d", p1);
p1++;
}
for(p1 = data; p1 < data+8-1; p1++)
for(p2 = p1+1; p2 < data+8; p2++)
if(*p1 < *p2)
{
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
for(i = 0, p1 = data; i < 8; i++, p1++)
printf("%6d", *p1);


return 0;
}

指針一直是c語言最頭疼的一部分,也是最好的一部分,指針基本上是c語言所獨有的,這是一段比較簡單的程序,只要理解以下幾點就OK:

1.int a, *p;

*p = a;

p = &a;

int *p是一個int * 數據類型,*p是一個指向int型的指針,p是一個地址,但是它的基礎是*p必須只想一個地址。

2.數組其實也能算是指針,data = data[0],它代表數組的首地址。

所以p = data;

3.假設a是一個常數,則*(p+a) = data[a] .

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved