⑴ 用c語言編程列印十進制數1到256的二進制、八進制和十六進制數值表
以下程序在TURBOC上調試通過:
#include <stdio.h>
#include <limits.h>
void bit_print(int a)
{
int i;
int n;
unsigned long int mask;
n=sizeof(a)*CHAR_BIT;
mask=0x8000;
for (i=1; i<=n; ++i) {
putchar(((a&mask)==0)?'0':'1');
mask>>=1;
if (i%CHAR_BIT==0&&i<n) {
putchar(' ');
}
}
}
int main(void)
{
int i;
for (i=1; i<=256; i++) {
printf("%d\t",i);
bit_print(i);
putchar('\t');
printf("%o\t%X\n",i,i);
}
return 0;
}
輸出內容為:
1 00000000 00000001 1 1
2 00000000 00000010 2 2
3 00000000 00000011 3 3
4 00000000 00000100 4 4
5 00000000 00000101 5 5
6 00000000 00000110 6 6
7 00000000 00000111 7 7
8 00000000 00001000 10 8
9 00000000 00001001 11 9
10 00000000 00001010 12 A
11 00000000 00001011 13 B
12 00000000 00001100 14 C
13 00000000 00001101 15 D
14 00000000 00001110 16 E
15 00000000 00001111 17 F
16 00000000 00010000 20 10
17 00000000 00010001 21 11
18 00000000 00010010 22 12
19 00000000 00010011 23 13
20 00000000 00010100 24 14
21 00000000 00010101 25 15
22 00000000 00010110 26 16
23 00000000 00010111 27 17
24 00000000 00011000 30 18
25 00000000 00011001 31 19
26 00000000 00011010 32 1A
27 00000000 00011011 33 1B
28 00000000 00011100 34 1C
…………
208 00000000 11010000 320 D0
209 00000000 11010001 321 D1
210 00000000 11010010 322 D2
211 00000000 11010011 323 D3
212 00000000 11010100 324 D4
213 00000000 11010101 325 D5
214 00000000 11010110 326 D6
215 00000000 11010111 327 D7
216 00000000 11011000 330 D8
217 00000000 11011001 331 D9
218 00000000 11011010 332 DA
219 00000000 11011011 333 DB
220 00000000 11011100 334 DC
221 00000000 11011101 335 DD
222 00000000 11011110 336 DE
223 00000000 11011111 337 DF
224 00000000 11100000 340 E0
225 00000000 11100001 341 E1
226 00000000 11100010 342 E2
227 00000000 11100011 343 E3
228 00000000 11100100 344 E4
229 00000000 11100101 345 E5
230 00000000 11100110 346 E6
231 00000000 11100111 347 E7
232 00000000 11101000 350 E8
233 00000000 11101001 351 E9
234 00000000 11101010 352 EA
235 00000000 11101011 353 EB
236 00000000 11101100 354 EC
237 00000000 11101101 355 ED
238 00000000 11101110 356 EE
239 00000000 11101111 357 EF
240 00000000 11110000 360 F0
241 00000000 11110001 361 F1
242 00000000 11110010 362 F2
243 00000000 11110011 363 F3
244 00000000 11110100 364 F4
245 00000000 11110101 365 F5
246 00000000 11110110 366 F6
247 00000000 11110111 367 F7
248 00000000 11111000 370 F8
249 00000000 11111001 371 F9
250 00000000 11111010 372 FA
251 00000000 11111011 373 FB
252 00000000 11111100 374 FC
253 00000000 11111101 375 FD
254 00000000 11111110 376 FE
255 00000000 11111111 377 FF
256 00000001 00000000 400 100
⑵ 找出1~256中迴文數的C語言程序怎麼寫
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
int low;
int high;
long num;
int i;
char tmp[8];
int sts;
memset(tmp,0,sizeof(tmp));
for(i=1;i<=256;i++){
num = i*i;
sprintf(tmp,"%ld",num);
if(strlen(tmp) < 2){
continue;
}
sts = 0;
low = 0;
high = strlen(tmp)-1;
while(high>=low){
if(tmp[high]==tmp[low]){
low = low +1;
high = high -1;
}else{
sts = 1;
break;
}
}
if(sts == 0){
printf("the x = %3d,x*x=%6ld\n",i,num);
}
}
return 0;
}
⑶ C語言從1加到100
問題的關鍵是出在i++,它表示先運算,後自加,我們按照步驟來,(1)先判斷i是否小於101,是就要執行循環語句。(2)i會自加1。(3)執行循環語句,其中i是第(2)步自加了1的。所以其實這個程序做的是從2加到101 的和,所以就會多出來100,將i初值改為0,101改為100,應該就可以了吧。
⑷ C語言1到256十進制轉二進製程序
i值被改變.導致死循環.
#include<stdio.h>
#include<string.h>
intmain(void)
{
inta[20],i,k;
for(i=1;i<257;i++)
{
intn=i;
for(k=0;;k++)
{
a[k]=n%2;
n=n/2;
if(n==0)
{
for(;k>=0;k--)
printf("%d",a[k]);
printf(" ");
break;
}
}
}
system("pause");
return0;
}
⑸ 請用c語言編寫一個程序,列印一個與十進制數(從1到256) 相等的二進制數,八進制數和十六進制數表
八進制和十六進制可以直接用%o和%x輸出。
二進制這里自己弄了下。
#include<stdio.h>
intmain(intargc,char*argv[])
{
inti,j,n;
chartwo[9]={0};
for(i=1;i<=255;i++)
{
/*十進制*/
printf("%4d",i);
/*二進制*/
for(j=7,n=i;j>=0;j--,n>>=1)
{
two[j]=(n&1)+'0';
}
printf("%9s",two);
/*八進制*/
printf("%4o",i);
/*十六進制*/
printf("%3x ",i);
}
return0;
}
⑹ c語言如何編寫從1加到n的程序可輸入的n的那種,謝謝了
include<stdio.h>
int main()
{
int n,i;
int sum=0;
printf("請輸入要累加的數字n:");
scanf("%d",&n);
for(i=0;i<=n;i++)
{
sum=sum+i;
}
printf("累加的和為%d",sum);
return 0;
}
(6)1加到256等於C語言寫擴展閱讀:
在C語言中,有三種類型的循環語句:for語句、while語句和do While語句。分別介紹如下:
for
for為當型循環語句,它很好地體現了正確表達循環結構應注意的三個問題:
⑴控制變數的初始化。
⑵循環的條件。
⑶循環控制變數的更新。
while:
while結構循環為當型循環(when type loop),一般用於不知道循環次數的情況。維持循環的是一個條件表達式,條件成立執行循環體,條件不成立退出循環。
while語句格式為:
while(條件表達式)
循環體
每次執行循環體前都要對條件表達式進行判斷。
do…while語句結構為直到型循環(until type loop),也用於不知道循環次數的情況。do…while和while的區別在於do…while結構是執行完一遍循環體再判斷條件。
do while語句格式為:
do
循環體
while(條件表達式);
每執行完一次循環體,do…while結構都要判斷一下條件表達式。
參考資料來源:網路-循環語句