山东理工大学一维数组
7-1 sdut- C語(yǔ)言實(shí)驗(yàn)—最值
分?jǐn)?shù)?12
全屏瀏覽題目
切換布局
作者?馬新娟
單位?山東理工大學(xué)
有一個(gè)長(zhǎng)度為n的整數(shù)序列,其中最大值和最小值不會(huì)出現(xiàn)在序列的第一和最后一個(gè)位置。
請(qǐng)寫一個(gè)程序,把序列中的最小值與第一個(gè)數(shù)交換,最大值與最后一個(gè)數(shù)交換。輸出轉(zhuǎn)換好的序列。
輸入格式:
輸入包括兩行。
第一行為正整數(shù)n(1≤n≤10)。
第二行為n個(gè)正整數(shù)組成的序列。
輸出格式:
輸出轉(zhuǎn)換好的序列。數(shù)據(jù)之間用空格隔開(kāi)。
輸入樣例:
6 2 3 8 1 4 5輸出樣例:
1 3 5 2 4 8#include <stdio.h>
#include <stdlib.h>
int a[15];
int main()
{
? ? int n,t;
? ? scanf("%d",&n);
? ? int i,d,x,max=0,min;
? ? for(i=1;i<=n;i++)
? ? {
? ? ? ? scanf("%d",&a[i]);
? ? }
? ? for(i=1;i<=n;i++)
? ? {
? ? ? ? if(a[i]>max)
? ? ? ? {
? ? ? ? ? ? max=a[i];
? ? ? ? ? ? d=i;
? ? ? ? }
? ? }
? ? min=a[1],x=1;
? ? for(i=2;i<=n;i++)
? ? {
? ? ? ? if(a[i]<min)
? ? ? ? {
? ? ? ? ? ? min=a[i];
? ? ? ? ? ? x=i;
? ? ? ? }
? ? }
? ? t=a[1];
? ? a[1]=a[x];
? ? a[x]=t;
? ? t=a[n];
? ? a[n]=a[d];
? ? a[d]=t;
? ? for(i=1;i<n;i++)
? ? {
? ? ? ? printf("%d ",a[i]);
? ? }
? ? printf("%d",a[n]);
? ? return 0;
}
7-2 sdut-C語(yǔ)言實(shí)驗(yàn)-整數(shù)位
分?jǐn)?shù)?12
全屏瀏覽題目
切換布局
作者?馬新娟
單位?山東理工大學(xué)
輸入一個(gè)不多于5位的正整數(shù),要求:
(1)求出它是幾位數(shù);
(2)分別輸出每一位數(shù)字;
(3)按逆序輸出各位數(shù)字。
輸入格式:
輸入一個(gè)不多于5位的正整數(shù)。
輸出格式:
輸出數(shù)據(jù)有3行,第一行為正整數(shù)位數(shù),第二行為各位數(shù)字,第三行為逆序的各位數(shù)字。
#include <stdio.h>
#include <stdlib.h>
int main()
{
? ? int a,wei=0,newa;
? ? scanf("%d",&a);
? ? newa=a;
? ? while(a)
? ? {
? ? ? ? a/=10;
? ? ? ? wei++;
? ? }
? ? int nwei=wei;
? ? printf("%d\n",wei);
? ? int n[wei];
? ? while(newa)
? ? {
? ? ? ? n[wei]=newa%10;
? ? ? ? newa/=10;
? ? ? ? wei--;
? ? }
? ? for(wei=1;wei<nwei;wei++)
? ? {
? ? ? ? printf("%d ",n[wei]);
? ? }
? ? printf("%d",n[nwei]);
? ? printf("\n");
? ? for(;nwei>1;nwei--)
? ? {
? ? ? ? printf("%d ",n[nwei]);
? ? }
? ? printf("%d",n[1]);
? ? return 0;
}
7-3 sdut-C語(yǔ)言實(shí)驗(yàn)-區(qū)間之和
分?jǐn)?shù)?10
全屏瀏覽題目
切換布局
作者?馬新娟
單位?山東理工大學(xué)
給定一個(gè)由 n 個(gè)整數(shù)組成的序列A1,A2,……, An 和兩個(gè)整數(shù)L,R,你的任務(wù)是寫一個(gè)程序來(lái)計(jì)算序列號(hào)在L,R?這段位置區(qū)間內(nèi)所有數(shù)的總和。
輸入格式:
輸入只有一組測(cè)試數(shù)據(jù):
測(cè)試數(shù)據(jù)的第一行為一個(gè)整數(shù) n (1< n < 10000);
第二行為 n 個(gè) int 類型的整數(shù);
第三行為兩個(gè)整數(shù) L,R(0 < L < R <= n)。
輸出格式:
輸出序列號(hào)在區(qū)間[L,R]內(nèi)所有數(shù)的和,數(shù)據(jù)保證和在 int 類型范圍內(nèi)。
#include <stdio.h>
#include <stdlib.h>
int main()
{
? ? int n,i,sum=0;
? ? scanf("%d",&n);
? ? int a[10010],l,r;
? ? for(i=1;i<=n;i++)
? ? {
? ? ? ? scanf("%d",&a[i]);
? ? }
? ? scanf("%d %d",&l,&r);
? ? while(l<=r)
? ? {
? ? ? ? sum+=a[l];
? ? ? ? l++;
? ? }
? ? printf("%d",sum);
? ? return 0;
}
7-4 sdut-C語(yǔ)言實(shí)驗(yàn)-分割整數(shù)
分?jǐn)?shù)?10
全屏瀏覽題目
切換布局
作者?馬新娟
單位?山東理工大學(xué)
從鍵盤輸入一個(gè)長(zhǎng)整數(shù)(不超過(guò)10位),從高位開(kāi)始逐位分割并輸出。
輸入格式:
正整數(shù)n,不含前導(dǎo)零。
輸出格式:
分割的整數(shù)序列,各整數(shù)之間用空格格開(kāi)。
注意,最后一個(gè)數(shù)字后面沒(méi)有空格!
#include<stdio.h>
int main()
{
? ? int a[11],n;
? ? scanf("%d",&n);
? ? int i=1;
? ? for(;n;i++)
? ? {
? ? ? ? a[i]=n%10;
? ? ? ? n/=10;
? ? }
? ? for(i=i-1;i>1;i--)
? ? {
? ? ? ? printf("%d ",a[i]);
? ? }
? ? printf("%d",a[1]);
}
7-5 sdut-C語(yǔ)言實(shí)驗(yàn)-眾數(shù)
分?jǐn)?shù)?15
全屏瀏覽題目
切換布局
作者?馬新娟
單位?山東理工大學(xué)
眾數(shù)是指在一組數(shù)據(jù)中,出現(xiàn)次數(shù)最多的數(shù)。例如:1, 1, 3 中出現(xiàn)次數(shù)最多的數(shù)為 1,則眾數(shù)為 1。
給定一組數(shù),你能求出眾數(shù)嗎?
輸入格式:
輸入數(shù)據(jù)有多組(數(shù)據(jù)組數(shù)不超過(guò) 50),到 EOF 結(jié)束。
對(duì)于每組數(shù)據(jù):
第 1 行輸入一個(gè)整數(shù) n (1 <= n <= 10000),表示數(shù)的個(gè)數(shù)。
第 2 行輸入 n 個(gè)用空格隔開(kāi)的整數(shù) Ai (0 <= Ai <= 1000),依次表示每一個(gè)數(shù)。
輸出格式:
對(duì)于每組數(shù)據(jù),在一行中輸出一個(gè)整數(shù),表示這組數(shù)據(jù)的眾數(shù)。
數(shù)據(jù)保證有唯一的眾數(shù)。
#include <stdio.h>
#include <stdlib.h>
int main()
{
? ? int n,b,d;
? ? while(scanf("%d",&n)!=EOF)
? {
? ? ? ? if(scanf("EOF"))
? ? ? ? ? ? break;
? ? int a[1001]={0},max=0;
? ? for(int i=0;i<n;i++)
? ? {
? ? ? ? scanf("%d",&b);
? ? ? ? a[b]++;
? ? }
? ? for(int i=0;i<1001;i++)
? ? {
? ? ? ? if(a[i]>max)
? ? ? ? {
? ? ? ? ? ? max=a[i];
? ? ? ? ? ? d=i;
? ? ? ? }
? ? }
? ? printf("%d\n",d);
? }
? ? return 0;
}
?
7-6 sdut- C語(yǔ)言實(shí)驗(yàn)-數(shù)日子
分?jǐn)?shù)?12
全屏瀏覽題目
切換布局
作者?馬新娟
單位?山東理工大學(xué)
時(shí)間如白駒過(guò)隙,大一的時(shí)光也是轉(zhuǎn)眼就結(jié)束,因此要抓住每一寸光陰提升自己。你知道今天是這一年第幾天嗎,掐指一算還是要算好久,呵呵還是讓計(jì)算機(jī)來(lái)做吧。這里的問(wèn)題就是讓你來(lái)寫一個(gè)程序,輸入某年某月某日,判斷這一天是這一年的第幾天?
輸入格式:
輸入第一行是數(shù)據(jù)的組數(shù)n<100,下面n行是n組數(shù)據(jù),每組數(shù)據(jù)由3個(gè)正整數(shù)組成,分別為年、月、日,我們保證每組數(shù)據(jù)都是有效的日期。
輸出格式:
輸出所輸入的日期是這一年的第幾天。
#include <stdio.h>
#include <stdlib.h>
int main()
{
? ? int a,b,c,n;
? ? scanf("%d",&n);
? ? while(n--)
? ? {
? ? ? ? scanf("%d%d%d",&a,&b,&c);
? ? ? ? int sum=0,f=1;
? ? ? ? switch(b)
? ? ? ? {
? ? ? ? ? ? case 1:sum=c;
? ? ? ? ? ? break;
? ? ? ? ? ? case 2:sum=31+c;
? ? ? ? ? ? break;
? ? ? ? ? ? case 3:sum=31+28+c;
? ? ? ? ? ? break;
? ? ? ? ? ? case 4:sum=59+31+c;
? ? ? ? ? ? break;
? ? ? ? ? ? case 5:sum=90+30+c;
? ? ? ? ? ? break;
? ? ? ? ? ? case 6:sum=120+31+c;
? ? ? ? ? ? break;
? ? ? ? ? ? case 7:sum=151+30+c;
? ? ? ? ? ? break;
? ? ? ? ? ? case 8:sum=181+31+c;
? ? ? ? ? ? break;
? ? ? ? ? ? case 9:sum=212+31+c;
? ? ? ? ? ? break;
? ? ? ? ? ? case 10:sum=243+30+c;
? ? ? ? ? ? break;
? ? ? ? ? ? case 11:sum=273+31+c;
? ? ? ? ? ? break;
? ? ? ? ? ? case 12:sum=304+30+c;
? ? ? ? ? ? break;
? ? ? ? }
? ? ? ? if(a%400==0||(a%4==0&&a%100!=0))
? ? ? ? ? ? ? ? f=0;
? ? ? ? if(f==0&&b>2)
? ? ? ? ? ? ? ? sum+=1;
? ? ? ? printf("%d\n",sum);
? ? }
? ? return 0;
}
?
總結(jié)
以上是生活随笔為你收集整理的山东理工大学一维数组的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 物联网lora无线数传模块应用案例:Lo
- 下一篇: 大数据实践总结分享