當前位置:首頁 » 編程語言 » 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);
}
}
}