C 语言程序设计(100 分)
一、考试要求:
1.对 C 语言的语法、语义有较好的理解。
2.能熟练地阅读 C 源程序,并具有初步分析程序的能力。
3.初步掌握结构化程序设计的方法和技巧,能从分析问题入手,设计可行的算 法,进而用 C 语言编写结构良好的面向过程的程序。
4.通过上机实验,掌握程序的调试和测试方法。
二、考试内容
........这边省略N字
我们直接上题,下面的是题型解说!
下面的是题型解说!
👇
//C语言求回文素数
//重点判断 一个数 是否是 回文素数
//1. 首先判断 这个数 是否是 素数
// 如果是,那么再进一步判断这个素是 “两个数”,还是三位数、
//2.
// 若是 “两位数” 则 需要判断 --> 个位数和十位数是否相同
// 若是 “三位数” 则 需要判断 --> 个位数和百位数是否相同
//若相同,则为 => 回文素数
//若不相同继续下一次判断
#include<stdio.h>
int sushu(int i)
{
int j;
if(i<=1) //若该值 <= 1 那么不是素数
{
return 0;
}
if(i == 2) //若该值 = 2 则是 素数 (素数 2~n 之间 只能➗1和自身的数 )
{
return 1;
}
for(j=2;j<i;j++)
{
if(i%j == 0) //i是否能整除j
{
return 0;
}
else if(i != j+1)
{
continue;
}
else{
return 1;
}
}
}
int main()
{
int i;
for(i=10;i<1000;i++)
{
if(sushu(i)==1) //判断 “该数” 是否为 素数
{ //若为素数 则继续进行
if(i/100==0) //判断 “素数” 是否为 两位数,若是则继续进行, 若不是则判断 “是不是三位数”
{
if(i/10 == i%10) //判断其 “十位数”和“个位数” 是否相同
{
printf("%5d",i);
}
if(i%5 == 0)//每5个元素 换一行(5个元素一行)
{
printf("\n");
}
}
else{
if(i/100 == i%10)//若是“三位数” 则判断其 “百位数” 和 “个位数” 是否相同
{
printf("%5d",i);
}
if(i%5 == 0) //每5个元素 换一行(5个元素一行)
{
printf("\n");
}
}
}
}
return 0;
}
整体思路:
//① 定义一个函数 sushu,其作用是判断一个数是否是素数。
//② 对判断为素数的数,再判断其是否是两位数。
//若是两位数,再判断其个位数和十位数是否相同,若相同则打印输出;若不相同,则执行④;若不是两位数,则执行③。
//③ 若是三位数,则判断其个位数和百位数是否相同。若相同,则打印输出;若不相同,则执行 ④。
//④ 循环控制变量 i 自增 1。
//⑤ 直到 i 自增至 1000 结束。