#include<stdioh>
void main(){
int a,b,c,x,y,z;
printf("请输入x、y、z:");
scanf("%d,%d,%d",&x,&y,&z);
while(x>=y||y>=z||x<=0||y<=0||z<=0){
printf("你输入的数字不正确!\n\n");
printf("请输入x、y、z:");
scanf("%d,%d,%d",&x,&y,&z);
}
for(a=1;a<=z;a++){
for(b=1;b<=z;b++){
for(c=1;c<=z;c++){
if(ax+by==cz){
break;
}
}
}
}
printf("a=%d,b=%d,c=%d\n",a,b,c);
}
#include <stdioh>
#include <mathh>
#include <stdlibh>
#define I 20
#define R 340
#include <stringh>
int main()
{
char answer[10];
printf("遇到你\n我才发现\n曾经所有的条件\n似乎都成了我等你的借口\n\n");
printf("我对你的感情已经决堤\n所以\n请允许我,从今往后映入你\n明媚的眼\n");
printf("我\n想和你\n耳鬓厮磨,相濡以沫!");
printf("答应我吧!\n输入yes,你可以看到我的真心\n");
scanf("%s", answer);
float y, x, z, f;
for (y = 15f; y > -15f; y -= 01f)
{
for (x = -15f; x < 15f; x += 005f)
{
z = x x + y y - 1;
f = z zz - x xyyy;
putchar(f <= 00f ""[(int)(f-80f)] : ' ');
}
putchar('\n');
}
long time;
for (;;)
{
system("color a");
for (time = 0; time<99999999; time++);
system("color b");
for (time = 0; time<99999999; time++);
system("color c");
for (time = 0; time<99999999; time++);
system("color d");
for (time = 0; time<99999999; time++);
system("color e");
for (time = 0; time<99999999; time++);
system("color f");
for (time = 0; time<99999999; time++);
system("color 0");
for (time = 0; time<99999999; time++);
system("color 1");
for (time = 0; time<99999999; time++);
system("color 2");
for (time = 0; time<99999999; time++);
system("color 3");
for (time = 0; time<99999999; time++);
system("color 4");
for (time = 0; time<99999999; time++);
system("color 5");
for (time = 0; time<99999999; time++);
system("color 6");
for (time = 0; time<99999999; time++);
system("color 7");
for (time = 0; time<99999999; time++);
system("color 8");
for (time = 0; time<99999999; time++);
system("color 9");
}
getchar();
return 0;
}
运行效果:
扩展资料:
printf函数使用注意事项
1、域宽
%d:按整型数据的实际长度输出。
如果想输出指定宽度可以指定域宽,%md--&gt;m域宽,打印出来以后,在控制台上,显示m位;
如果我们要打印的数的位数如果超过我们设定m则原样输出;
如果我们要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:
如果m为正数,则左对齐(左侧补空白);
如果m为负数,则右对齐(右侧补空白)。
2、转义字符
如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。
如:printf("%f%%",1.0/3);输出结果:0.333333%。
#include "stdioh"
#include "ctypeh"
#include "malloch"
#include "stdlibh"
#define M 100
#define ZERO 0
#define SUCC 1
#define DEFT 0
#define MIN -1
#define MAX 2001
typedef int valuetype;
typedef struct Bnode
{
valuetype data;
int layer ;
struct Bnode Lson,Rson;
}Bnode,Bptr;
void writeT(Bptr root)
{
int first=0,last=1;
Bptr p,q[M];
if(root->data==MIN)p=root->Rson;
else p=root->Lson;
if(p==NULL)
{ printf(" 当前二叉树为空,没有结点。\n");return;}
printf(" 当前二叉树的结点为:\n");
printf(" 层号 当前结点 左儿子 右儿子\n");
p->layer=1;
q[0]=p;
while(first!=last)
{
p=q[first++];
printf("%6d%10d ",p->layer,p->data);
if(p->Lson==NULL)printf("%12c",'\040');
else
{
printf("%12d",p->Lson->data);
p->Lson->layer=p->layer+1;
q[last++]=p->Lson;
}
if(p->Rson!=NULL)
{
printf("%12d",p->Rson->data);
p->Rson->layer=p->layer+1;
q[last++]=p->Rson;
}
printf("\n");
}
}
void inorder(Bptr p)
{
if(!p)return;
inorder(p->Lson);
printf("%5d",p->data);
inorder(p->Rson);
}
void sortT(Bptr root)
{
if(root->data==MIN) inorder(root->Rson);
else inorder(root->Rson);
printf("\n");
}
Bptr search (valuetype x,Bptr p)
{
while (p!=NULL)
{
if(x==p->data)return p;
if(x<p->data) p=p->Lson;
else p=p->Rson;
}
return NULL;
}
void searchT(Bptr root)
{
int x;
printf("请输入要查找的结点值x>0,x=");
scanf("%d",&x);
if(search(x,root)==NULL)printf("数中没有%d!\n",x);
else printf("%d 已经找到!\n",x);
}
void insert(valuetype x,Bptr &root)
{
Bptr f,p;
f=NULL;p=root;
while(p!=NULL)
{
if(x<p->data)f=p,p=p->Lson;
else f=p,p=p->Rson;
}
p=new Bnode;
p->data=x;p->Lson=p->Rson=NULL;
if(f==NULL)root=p;
else
if(x<=f->data)f->Lson=p;
else f->Rson=p;
}
void insertT(Bptr p)
{
int x;
printf("请输入要插入的结点的值x>0,x=");
scanf("%d",&x);
insert(x,p);
printf("%d已经被插入了\n",x);
}
Bptr creatST()
{
Bptr root ;valuetype x;
root =NULL;
printf(" 构造初始检索树,请输入元素序列,元素个数不得超过%d,要求:\n",M);
printf("序列以%d或%d开始,以0结束,元素值均为小于%d的正整数\n",MIN,MAX,MAX);
scanf("%d",&x);
while(x!=ZERO)
{
insert(x,root);
scanf("%d",&x);
}
return root;
}
int deleteST(valuetype x,Bptr root)
{
Bptr f,p,s,r;
for (p=root;;)
{
if(p==NULL)return DEFT;
if (x==p->data)break;
if(x<p->data)
{
f=p;p=p->Rson;
}
else
{
f=p;p=p->Rson;
}
}
if (p->Rson==NULL)
{
if(p==f->Lson)
f->Lson=p->Rson;
else
f->Rson=p->Lson;
free (p);
return SUCC;
}
s=p->Lson;
if (s->Rson==NULL)
{
p->data=s->data;
p->Lson=s->Lson;
free (s);
return SUCC;
}
r=s->Rson;
while (r->Rson!=NULL)
{
s=r;
r=r->Rson;
}
p->data=r->data;
s->Rson=r->Lson;
free (r);
return SUCC;
}
void deleteT(Bptr root)
{
int x;
printf("请输入要删除的结点值x>0,x=");
scanf("%d",&x);
if(deleteST(x,root))
printf("%d 已经被删除!\n",x);
else
printf(" %d不在树中,无法删除!\n",x);
}
char getalpha()
{
char c;
while(1)
{
c=getchar();
if(isalpha(c))
return c;
}
}
void treeT(Bptr root)
{
char c;
printf(" 对检索树可以进行下列 *** 作:\n");
while (1)
{
printf("请输入 *** 作码:查找F/f 插入I/i 删除D/d 显示P/p 结点排序S/s 终止E/e\nC=");
c=getalpha();
switch(c)
{
case 'f':
case 'F': searchT(root);break;
case 'p':
case 'P': writeT(root);break;
case 'i':
case 'I': insertT(root);break;
case 'd':
case 'D': deleteT(root);break;
case 's':
case 'S': sortT(root);break;
case 'e':
case 'E': writeT(root);return;
default:printf("输入的 *** 作码不正确,请重新输入!\n");
continue;
}
}
}
void main()
{
Bptr root;
root=creatST();
treeT(root);
printf("程序结束,再见!\n");
}
#include <stdioh>
int main()
{
char s1[21],s2[21];
int i, m, n;
scanf("%s",s1);
scanf("%d %d",&m,&n);
for(i=0;i<n;i++)
{
s2[i]=s1[i+m];
}
s2[i] = '\0';
printf(s2);
}
刚编了一个:把12枚银币编号,1,2,3,12,每次称重的时候,按照程序提示进行,输入称重结果,就可以了。
运行结果:
5、6、7、8
比
1、2、3、4:
(输入:0等,1轻,2重)2
3、4、6
比
1、2、5:
(输入0等,1轻,2重)1
5、4
比
11、12
(输入0:等,1轻,2重)2
假币5重
源程序:
#include
<stdioh>
void
badcoin(int
x,
int
a)
{
switch(a)
{
case
0:
printf("错误输入");
break;
case
1:
printf("假币%d轻",x);
break;
case
2:
printf("假币%d重",x);
break;
}
}
void
badcoin1(int
x)
{
int
a,
good;
for(good=1;
good==x;
good++){}
printf("%d是假币,
%d
比
%d
(输入:1轻,2重)",x,x,good);
scanf("%d",&a);
badcoin(x,a);
}
void
badcoins2(int
x,
int
y,
int
a)
{
int
b,
good;
for(good=1;
good==x
||
good==y;
good++){}
printf("%d,%d当中有一个假币",x,y);
switch(a)
{
case
1:
printf("(轻),其中
%d
比
%d
(输入0:等,1轻)",x,good);
break;
case
2:
printf("(重),其中
%d
比
%d
(输入0:等,2重)",x,good);
break;
}
scanf("%d",&b);
if(b==0
||
b==a)
{
switch(b)
{
case
0:
badcoin(y,a);
break;
case
1:
case
2:
badcoin(x,b);
break;
}
}
else
{
printf("输入错误\n");
}
}
void
badcoins3(int
x,
int
y,
int
z,
int
a)
{
/
z偏a,或者x和y当中一个偏非a
/
int
b;
printf("%d、%d
比
11、12
(输入0:等,1轻,2重)",z,y);
scanf("%d",&b);
if(b==0)
badcoin(x,a==12:1);
else
badcoin(b==az:y,b);
}
main()
{
int
a,b;
printf("5、6、7、8
比
1、2、3、4:
(输入:0等,1轻,2重)");
scanf("%d",&a);
if(a==0)
{
printf("9、10、11
比
1、2、3:
(输入0等,1轻,2重)");
scanf("%d",&a);
if(a==0)
{
badcoin1(12);
}
else
{
printf("10
比
9(输入0等,1轻,2重)");
scanf("%d",&b);
if(b==0)
badcoin(11,a);
else
badcoin(a==b10:9,a);
}
}
else
{
printf("3、4、6
比
1、2、5:
(输入0等,1轻,2重)");
scanf("%d",&b);
if(b==0)
{
badcoins2(7,8,a);
}
else
{
if(a==b)
badcoins3(1,2,6,a);
else
badcoins3(3,4,5,a);
}
}
}
请用VC++60编译
#include"stdioh"
#include"stringh"
#define MAXTRLEN 255
typedef unsigned char SString[MAXTRLEN+1];
void StrAssign(SString &T,char s);//把字符串s复制到T中
int Index_KMP(SString S,SString T,int pos);//KMP找子串位置算法
void get_next(SString T,int next[]);
void get_nextval(SString T,int nextval[]);
void main()
{
SString S,T;
char s[30];
int n=0;
printf("请输入主串\n");
gets(s);
StrAssign(S,s);
printf("请输入模式串\n");
gets(s);
StrAssign(T,s);
n=Index_KMP(S,T,1);
if(n)
printf("T是S的子串,位置为%d\n",n);
else
printf("T不是S的子串\n");
}
//利用模式串T,的next函数求T在主串S中第pos个字符之后的位置的KMP算法。其中,T非空,
//1<=pos<=StrLength(S)。
int Index_KMP(SString S,SString T,int pos)
{
int i,j;
int next[10];
i=pos;j=1;
get_next(T,next);
while(i<=S[0]&&j<=T[0])
{
if(j==0||S[i]==T[j])
{
i++;
j++;
}
else
j=next[j];
}
if(j>T[0])
return i-T[0];
else
return 0;
}
//求模式串T的next 函数值并存入数组next
void get_next(SString T,int next[])
{
int i,j;
i=1;j=0;
next[1]=0;
while(i<T[0])
{
if(j==0||T[i]==T[j])
{
i++;
j++;
next[i]=j;
}
else
j=next[j];
}
}
//求模式串T的next 函数修正值并存入数组nextval
void get_nextval(SString T,int nextval[])
{
int i,j;
i=1;j=0;
nextval[i]=0;
while(i<T[0])
if(j==0||T[i]==T[j])
{
i++;
j++;
if(T[i]!=T[j])
nextval[i]=j;
else
nextval[i]=nextval[j];
}
else
j=nextval[j];
}
void StrAssign(SString &T,char s) //复制s到T
{
int n,i;
n=strlen(s);
T[0]=n;
for(i=0;i<n;i++)
T[i+1]=s[i];
}
#include <stdioh>
int main()
{
int a=0;
int num=0;
int i;
printf("输入一个整数:");
scanf("%d",&num);
for(i=2;i<num;i++){
if(num%i==0){
a++;
}
}
if(a==0){
printf("%d是素数。\n", num);
}else{
printf("%d不是素数。\n", num);
}
return 0;
}
扩展资料:
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。
基本算法:若 k%m==0 则说明 k 不是素数。
判断整数n是否为素数——采用枚举法求解。
采用枚举算法解题的基本思路:
(1)确定枚举对象、枚举范围和判定条件;
(2)枚举可能的解,验证是否是问题的解。
枚举算法的一般结构:while循环。
参考资料来源:百度百科-枚举法
以上就是关于求一个c语言编程全部的内容,包括:求一个c语言编程、求一个C语言表白程序、求一个比较复杂的C语言程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)