C语言题目:素日期的判定……我不会啊,今天23点之前必须提交怎么办啊怎么办?求高手帮忙,分数大大的有!

素日期的定义如下:比如1993年5月1日,变成一个8位整数19930501(注意这里有时需补0),如果这个整数是素数,则定义该日期是素日期,据说生日是素日期的人,人气好!

input

3个数表示一个日期比如 1992 2 1 表示1992年2月1日

Output

判定19920201是不是素数,如果是输出"y"

不是输出"n"

Sample input

1992 2 1

sample output

n

第1个回答  2011-04-02
#include<stdio.h>
#include<math.h>
void isPrime(int m) //判断是不是素数
{
int i;
int a=sqrt(m);
for(i=2;i<=a;i++)
{
if(m%i==0)//不是素数
{
printf("sample output:\n");
printf("n\n",m);
break;
}
else
{
printf("sample output:\n");
printf("y\n");
break;
}

}
}
void main()
{
int year,month,day,sum;
printf("sample input:\n");
scanf("%d %d %d",&year,&month,&day);
sum=year*1000+month*100+day;
isPrime(sum);

}追问

那个可以被7整除……

追答

你还是别用我的了,我的好像有错误,我试了几个数也都对,我还没看出来哪有毛病呢,我刚才想取消了
我知道我哪错了,我那里不应该用BREAK
#include
#include
int isPrime(int m) //判断是不是素数
{
int i;
int a=sqrt(m);
for(i=2;i<a;i++)
{
if(m%i==0)//不是素数
{

return 0;
}
else
{

return 1;
}

}
}
void main()
{
int year,month,day,sum;
printf("sample input:\n");
scanf("%d %d %d",&year,&month,&day);
sum=year*1000+month*100+day;
if(isPrime(sum))
{
printf("sample output:\n");
printf("n\n");
}
else
{

printf("sample output:\n");
printf("y\n");
}

}

本回答被提问者采纳
第2个回答  2011-04-02
还没23:00,希望可以帮到你,临时写的,因为时间关系,注解可以再问我。

#include<stdio.h>
#include<string.h>
#include<math.h>

int main()
{
char year[5], mon[3], day[3];
char string[9]={0};
char zero[]="0";
int test=0;
scanf("%s%s%s", year, mon, day);
int n_mon=atoi(mon);
int n_day=atoi(day);

strcpy(string, year);
if(n_mon <= 9){
strcat(string, zero);
}
strcat(string, mon);
if(n_day <= 9){
strcat(string, zero);
}
strcat(string, day);

int n_string=atoi(string);

for(int i=2; i<=n_string-1; i++){
if(n_string%i==0){
test=1;
break;
}
}
if(test==1){
printf("n\n");
}
if(test==0){
printf("y\n");
}
return 0;
}
第3个回答  2011-04-02
#include <stdio.h>
#include <math.h>

int isprime(int n)
{
int i;
for (i = 2; i < (int)sqrt(n); i++)
{
if (n % i == 0)
return 0;
}
return 1;
}

void main()
{
int year, month, day, number;
scanf("%d %d %d", &year, &month, &day);
number = year * 10000 + month * 100 + day;
if (isprime(number))
printf("y\n");
else
printf("n\n");
}追问

这个好像非正常结束……

追答

什么叫好像,你用什么编译器,我用vc6.0没问题呀,你的问题在哪儿?

第4个回答  2011-04-02
#include "stdafx.h"

#include<stdio.h>

#include<math.h>

void prime(int num )

{

int i=2,x=sqrt(num);

do{ if(num%i==0) break; }while(i++<=x);

if(i<=x) printf("n\n");

else printf("y\n");

}

void main()

{

int date,year,month,day;

printf("Please enter the date:");

scanf("%d%d%d",&year,&month,&day);

date=year*10000+month*100+day;

prime(date);

}
第5个回答  2011-04-02
#include<stdio.h>
#include<math.h>
main()
{
int year,month,day,num,i,k;
printf("please input a date:\n");
scanf("%d %d %d",&year,&month,&day);
num=10000*year+100*month+day;
for(i=2;i<=sqrt(num);i++)
{
if(num%i!=0)
k=1;
else
{k=0;
break;
}
}
if(k)
printf("Y");
else
printf("N");
}

C语言题目:素日期的判定……我不会啊,今天23点之前必须提交怎么办啊怎...
include<stdio.h> include<math.h> void isPrime(int m) \/\/判断是不是素数 { int i;int a=sqrt(m);for(i=2;i<=a;i++){ if(m%i==0)\/\/不是素数 { printf("sample output:\\n");printf("n\\n",m);break;} else { printf("sample output:\\n");printf("y\\n");break;} ...

求C语言高手帮我编下这几个程序。
1.起止日期不跨年度,先用终止日期的月号减去起始日期的月号得到月份数,然后再根据情况进行修改。例如,起止日期为2008.3.31——2008.9.20.通过计算月号算出 月份数为6.修正时,通过日数比较后,将月份数修改为5.2起止日期跨年度。计算方法如下所示:对于起止日期2008.7.25——2009.3.31.先...

c语言咋么学啊??能看懂例题,自己编程不会啊?没有思路!
第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。第二:C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的windows,Unix,Linux,Mac,os\/2,没有一个里...

C语言到循环有些学不懂了,我该怎么办啊!??
两个字 “坚持” ,坚持就是胜利。循环是每个编程语言都必不可少的东西,所以你必须学,而且都是大同小异,学会一个其他的都会了。它没什么难的,编程语句都是按照人的正常思维来设计的,C里面的循环就像人的思维一样。拿个很简单的比如,就像人要上班一样。日复一日,年复一年的上班,每天的流程...

我今天刚学习了c语言,感觉是一点听不懂,我该怎么办呢
3、模仿改:自己会抄写一些简单的代码,熟悉了一遍此语言的简单语法后,但还不太清楚怎样下手写一个完整的代码模块,所以这一步要仿写了,仿照给出的代码写一个属于自己的代码 4、勤调试:没有人能一下子写出完全正确的代码,自己试着写一些代码,通过不断调试来验证自己的一些想法,继续思考,再次验证...

怎么自学c语言,需要怎么学习?
这是对于C语言初学者的建议,如果 c语言已经学习了一段时间的,建议大家打开Dev c++的联想功能,可以提高编程速度和单词正确度。打开联想功能的方法:【工具】 -> 【编辑器选项】 ->代码补全 4.必须要及时复习,因为C语言的知识点凌乱而复杂,如果不复习,基本回到原点。因此学习C语言必须要坚持下去,...

c语言编程问题!
有点划不来。所以如果是上面这种情况,就没有比较好的办法了。只用用判断语句了,当然如果有20多个 字符的对应关系的话,判断语句也是不合适的,那么就没有比较好的办法了。还要进一步探索... *\/ 这些都是我在考计算机等级考试碰到过的题目哦,算法都是相当典型的,有的是书上看到的,有的是自己扩展的。还是要自己认...

关于C语言编写程序的一个疑问 高手帮忙看看我的程序哪错了
看了你的代码觉得,你在C语言的语法规则上还有待提高啊,在此举出你所给出的代码的若干错误。首先,你的代码不完整。第9、11、13行要定义三个100行的二维字符数组,如果仅仅是类似char adj[100][12]={"开心的"}的定义;这样adj[1]到adj[99]这99个词都会是空值(ASCII码为0),若用printf()...

关于C语言如何入门 我刚大一开始学 刚上两节课 完全听不懂 我该怎么...
你的情况我也遇到过,但不要灰心,基本上90%的同学都和你一样,别担心,首先就是要培养对这门课的兴趣,要学好一门语言,说容易也有点难,一定要乃的住寂寞,吃的了苦。其实,初学者学C语言,最好最初级的教材就是谭浩强老师编写的C语言课本,那本书是公认的适合初学者学习的,不知道你们用的是...

有一些c语言题目不会啊,请给我解答一下吧!谢谢
A.一个自定义语句函数中必须有一条return语句 B.一个自定义函数中可以根据不同情况设置多条return语句 C.定义成void类型的函数中可以有带返回值的return语句 D.没有return语句的自定义函数再执行结束时不恩能够返回到调用处 自定义函数中可以没有return语句,也可有一条或多条return语句,不管函数有没...

相似回答
大家正在搜