今天特马:c program

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 11:35:14
(1) 将一个小于256的十进制正整数转换成八位二进制形式输出
具体要求:
1)十进制数从键盘输入,且在输入前有所提示信息
2)若转换的二进制不够八位,则在前面补“0”
3)输出结果形式为:十进制数----à二进制数

(2) 实验三的(5)进行改造,增加要求:
程序要有连续处理能力,当且仅当输入的4个数全为零时,程序结束

实验三(5) 输入4个互不相等的整数,输出其中最小的一个
具体要求:
整数允许的范围为-215~215-1,若输入越界,则给出出错信息

(3) 编写一个程序,不断接受用户输入的学号和相应成绩,直到输入的学号为0时,输出所有输入中成绩最高的学号和成绩及成绩最底的学号和成绩

(4) 将小于n 的所有个位不等于9的素数在屏幕上打印出来,n的具体值由拥护输入来确定。(素数:只能被1和本身整除的整数)要求:每行输出10个数,分行显示

1.
#include "stdio.h"

void main()
{
unsigned char num;
char bin[9];
printf("Input a number between 0 and 255:");
scanf("%d", &num);
for(int i = 0; i < 8; i++)
{
bin[i] = '0';
}
bin[8] = '\0';

int n = num;
i = 7;
while(n > 0)
{
if (n % 2 == 1)
{
bin[i--] = '1';
}
else
{
bin[i--] = '0';
}
n /= 2;
}

printf("%d----%s\n", num, bin);
}

2.
#include "stdio.h"

void main()
{
int a[4];
while(1)
{
printf("Input a,b,c,d:");
scanf("%d%d%d%d",a,a+1,a+2,a+3);
if(a[0]==0 && a[1]==0 && a[2]==0 && a[3]==0)
{
break;
}
if(a[0] < -215 || a[0] > 214)
{
printf("a is illegal\n");
continue;
}
if(a[1] < -215 || a[1] > 214)
{
printf("b is illegal\n");
continue;
}
if(a[2] < -215 || a[2] > 214)
{
printf("c is illegal\n");
continue;
}
if(a[3] < -215 || a[3] > 214)
{
printf("d is illegal\n");
continue;
}
if(a[0]==a[1] || a[0]==a[2] || a[0]==a[3] || a[1]==a[2] || a[1]==a[3] || a[2]==a[3])
{
printf("The four numbers must not be equal to each other!\n");
continue;
}

int min = 0;
for(int i=1;i<4;i++)
{
if(a[min]>a[i])
{
min=i;
}
}

printf("The min num is %d\n",a[min]);
}
}

3.
#include "stdio.h"

#define N 101

void main()
{
int No[N];
int score[N];
int n=0;
int max,min;
min=max=0;
while(n<N-1)
{
scanf("%d %d",No+n,score+n);
if(No[n]==0)
{
break;
}
if(score[n]>score[max])
{
max=n;
}
if(score[n]<score[min])
{
min=n;
}
n++;
}
printf("The highest score belongs to student %d,it's %d\n",No[max],score[max]);
printf("The lowest score belongs to student %d,it's %d\n",No[min],score[min]);
}

4.
#include "stdio.h"

void main()
{
int n;
printf("Input n:");
scanf("%d",&n);
if(n<=1)
{
printf("n must bigger than 1\n");
}
else
{
for(int i=2;i<n;i++)
{
if(i%10==9)
{
continue;
}
bool tag=true;
for(int j=2;j<i;j++)
{
if(i % j == 0)
{
tag=false;
break;
}
}
if(tag)
{
printf("%8d",i);
}
}
printf("\n");
}
}