当前位置:首页 » 编程语言 » pta理论题库c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

pta理论题库c语言

发布时间: 2022-06-30 14:07:46

⑴ 学生党一枚,在PTA上的一个 关于c语言一个简单循环的题。谢谢各位大神给看一下。

#include<stdio.h>

int main(void)

{ int lower,upper,i;

double c;

scanf("%d%d",&lower,&upper);

if(lower<=upper&&upper<=100)

{printf("fahr celsius ");

for(i=lower;i<=upper;i=i+2)

{ c=5/9.0*(i-32);

printf("%d%6.1f ",i,c);}

}

else

printf("Invalid.");

return 0;

}

⑵ c语言题目,pta里说n很大则不满足(见图)

#include<stdio.h>
intmain()
{
doubles=0,a=2,b=1;
intt,i,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
s=s+a/b;//将各项累加
t=a;
a=a+b;//将前一项的分子与分母之和作为下一项的分子
b=t;//将前一项的分子作为下一项的分母
}
printf("%.2lf ",s);
return0;
}

刚才尝试将t改为double后,发现n=3000时,a,b溢出。

将程序作如下更改:

#include<stdio.h>
intmain()
{
doubles=0;
intn=0;
scanf("%d",&n);
doubletmp=2/1;
while(n--)
{
s+=tmp;
tmp=1/tmp+1;
}
printf("%.2lf ",s);
return0;
}

试试~

⑶ PTA题目:c语言最大公约数和最小公倍数

您没有弄清最大公约数和最小公倍数的概念呀,所以怎么说呢
#include <stdio.h>

int main(){
int a,b,c,m,n;
printf("请输两个正整数a,b:");
scanf("%d%d",&a,&b);
m=a;
n=b;
if(m<2 || n<2) return 44;
if(m>n){
c=m%n;
while(c>0){
m=n;
n=c;
c=m % n;
}
}
else{
c=n % m;
while(c>0){
n=m;
m=c;
c=n % m;
}
}
m=n;
n=a*b/n;

printf("最大公约数%d,最小公倍数%d\n",m,n);
return 0;
}

⑷ 一道c语言pta的题目求救

#include<stdio.h>
intmain()
{
inta[15]={1,2,4,6,8,9,12,15,149,156};
intb[15];
inti,j;
intc,d;
scanf("%d",&c);
for(i=0;i<10;i++)
{
if(a[i]<=c&&a[i]+1>=c)
{
d=i+1;
break;
}
}
for(i=0;i<d;i++)
{
b[i]=a[i];
}
b[d]=c;
for(i=d;i<10;i++)
{
b[i+1]=a[i];
}
for(i=0;i<11;i++)
{
printf("%d",b[i]);
}
return0;
}
原先我也错了,因为我再判断时,使数组a溢出了

⑸ PTA的C语言题

#include<stdio.h>

intcount[1000];//统计数组,下标为菜品标号,对应数值为菜品数量

intmain(){
intn,t,i,max=0;
scanf("%d",&n);
while(scanf("%d",&t)!=EOF){
count[t-1]++;
max=(max<=count[t-1])?count[t-1]:max;//寻找最多的菜品
}
for(i=0;i<n;i++){
if(count[i]==max)printf("%d%d ",i+1,count[i]);
}
}

⑹ PTA中C语言编程问题(答案没有给我满分,请帮我指出一下我程序的错误)

#include<stdio.h>
intmain()
{
intn,a[11],i,temp,j;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(j=0;j<n;j++)
for(i=0;i<n-j-1;i++)//改了下这里当i=n-1时i+1就越界了,所以i<n-j-1
if(a[i]<a[i+1])
{temp=a[i];a[i]=a[i+1];a[i+1]=temp;}
for(i=0;i<n-1;i++)
printf("%d",a[i]);
printf("%d",a[i]);
return0;
}

⑺ PTA平台简单C语言编程题

#include <stdio.h>

int main(int argc, char *argv[])
{
int x,y;
scanf("%d%d",&x,&y);
printf("%d+%d=%d\n",x,y,x+y);
printf("%d-%d=%d\n",x,y,x-y);
printf("%d*%d=%d\n",x,y,x*y);
printf("%d/%d=%d\n",x,y,x/y);
return 0;
}
希望对你有点用,
还是应该多学知识~

⑻ PTA平台,C语言编程题,找出最小值

//超过100个数,你的无法应对,给你个新的
#include<stdio.h>

int main()
{
int n,t,min;

scanf("%d",&n);
if(n-->0)
{
scanf("%d",&min);
while(n--)
{
scanf("%d",&t);
if(t<min)
min=t;
}
printf("min = %d",min);
}
return 0;
}

⑼ PTAc语言基础练习

//输入样例:
//ab#c##d##
//输出样例:
//PreOrder:abcd
//InOrder:bcad
//PostOrder:cbda
//LevelOrder:abdc

// a
// / \
// b d
// / \ / \
// # c # #
// / \
// # #

#include
#include

#define OK 1
#define ERROR 0
#define OVERFLOW -2

typedef int Status;
typedef char TElemType;

typedef struct BiTNode
{
TElemType data;
struct BiTNode *lchild;
struct BiTNode *rchild;
}BiTNode, *BiTree;

/////////////////////////////////
typedef BiTNode * QElemType;

typedef struct QNode
{
QElemType data;
struct QNode * next;
}QNode, *QueuePtr;

typedef struct
{
QueuePtr front;
QueuePtr rear;
}LinkQueue;

Status InitQueue_L(LinkQueue &Q)
{
Q.front = (QueuePtr) malloc (sizeof(QNode));
if (Q.front == NULL)
return OVERFLOW;
Q.front->next = NULL;
Q.rear = Q.front;
return OK;
}

bool QueueEmpty_L(LinkQueue &Q)
{
return (Q.front == Q.rear);
}

int QueueLength_L(LinkQueue &Q)
{
int count = 0;
for (QNode *p = Q.front->next; p != NULL; p = p->next)
count++;
return count;
}

Status EnQueue_L(LinkQueue &Q, QElemType e)
{
QNode *s = (QNode *) malloc (sizeof(QNode));
s->data = e;
s->next = NULL;
Q.rear->next = s;
Q.rear = s;
return OK;
}

Status DeQueue_L(LinkQueue &Q)
{
QNode *q = Q.front->next;
Q.front->next = q->next;
if (q->next == NULL)
Q.rear = Q.front;
free(q);
return OK;
}

void PrintQueue_L(LinkQueue &Q)
{
for(QNode *p = Q.front->next; p != NULL; p = p->next)
printf("%c", p->data->data);
printf("\n");
}
/////////////////////////////////

void CreateBiTree(BiTree &T);
void PreOrder(BiTree &T);
void InOrder(BiTree &T);
void PostOrder(BiTree &T);
void LevelOrder(BiTree &T);

int main()
{
BiTree T;

CreateBiTree(T);

printf("PreOrder:");
PreOrder(T);
printf("\n");

printf("InOrder:");
InOrder(T);
printf("\n");

printf("PostOrder:");
PostOrder(T);
printf("\n");

printf("LevelOrder:");
LevelOrder(T);
printf("\n");

return 0;
}
//创建二叉树: 先序扩展序列 + 递归法
void CreateBiTree(BiTree &T)
{
char input;
scanf("%c",&input); //输入数据
if(input == '#') //'#'是空节点
{
T = NULL;
}
else
{
T=(BiTree)malloc(sizeof(BiTNode));
if(T == NULL)
{
printf("\n分配动态内存时出错.\n");
exit(1);
}
T->data=input;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}

void PreOrder(BiTree &T) //先序遍历
{
if(T != NULL)
{
printf("%c",T->data);
PreOrder(T->lchild);
PreOrder(T->rchild);
}
}

void InOrder(BiTree &T) //中序遍历
{
if(T != NULL)
{
InOrder(T->lchild);
printf("%c",T->data);
InOrder(T->rchild);
}
}

void PostOrder(BiTree &T) //后序遍历
{
if(T != NULL)
{
PostOrder(T->lchild);
PostOrder(T->rchild);
printf("%c",T->data);
}
}

void LevelOrder(BiTree &T) //层序遍历
{
LinkQueue Q;
BiTree p = T;
if(p == NULL)
{
return;
}
InitQueue_L(Q);
EnQueue_L(Q, p);
while( !QueueEmpty_L(Q) )
{
p = Q.front->next->data;
DeQueue_L(Q);
printf("%c",p->data);
if(p->lchild != NULL)
{
EnQueue_L(Q, p->lchild);
}
if(p->rchild != NULL)
{
EnQueue_L(Q, p->rchild);
}
}
}