入門編程題
⑴ dev-c++入門級編程題一道
#include <iostream>
#include <algorithm>
using namespace std;
#define MAXN 1010
bool f[MAXN];
int n;
int a[MAXN];
void sushu()
{
int i,j;
memset(f,1,sizeof(f));
f[0] = f[1] = 0;
f[2] = 1;
f[3] = 1;
for( i = 4 ; i < MAXN ; i+=2 )
f[i] = 0;
for( i = 3 ; i < MAXN ; i+=2 )
{
if( f[i] )
{
for( j = i<<1 ; j < MAXN ; j+=i )
{
f[j] = false;
}
}
}
}
int main()
{
sushu();
int temp,i,j;
while( scanf("%d",&n)!=EOF)
{
for( i = 0 , j = 0 ; i < n; i++)
{
scanf("%d",&temp);
if( !f[ temp ] ) continue;
a[j++] = temp;
}
sort(a,a+j);
for( i = 0 ; i < j-1; i++)
{
printf("%d ",a[i]);
}
printf("%d\n",a[i]);
}
return 0;
}
⑵ c語言入門函數編程題(調用函數int Max(int a,int b)求兩整數最大值
#include <stdio.h>
int Max(int a, int b); // 定義函數Max
void main() //無返回值主函數
{
int x, y, z; //定義整型變數x,y,z
printf("Please input two integers : "); //讓用戶輸入兩個整數,務必要用英文輸入法輸入「,」
scanf("%d,%d",&x, &y); //將用戶輸入的整型數分別存放到x,y中
if(x==y) //判斷x是否等於y,是則輸出「這兩個整數相等」
{
printf("The two integers are equal!");
}
else //否則,將x,y的值放入實參中並執行Max函數中的內容
{
z = Max(x, y); //實參
printf("The biger number is %d\n", z); //向屏幕輸出較大的數
}
}
int Max(int a, int b) //形參
{
int c = 0; //定義整型變數c
c = a>b?a:b; //用三目運算符將a,b值中大的賦值給c
return c; //返回c的值
}
//望採納^_^
⑶ c#編程題,基礎的急用謝謝
1、判斷是否子串:IndexOf,比如判斷T是否S子串,寫法是int idx = S.IndexOf(T);此時,如果idx返回不小於0的數值,則代表T是S的子串;如果不是,則返回-1。
2、idx就是你要的起始位置。
3、授人以魚不如授人以漁,所以代碼你就自己寫吧,總共只用到了IndexOf這一個方法。
⑷ 求解一道C語言基礎編程題。。
intbase(intk,chars[])//按定義,k是進制(2~16),s是輸入的字元串
{
int len=0,sum=0; //len 指s字元串長度,sum指轉換後的k進制數
int i,j,t,n;
while (s[len]!='\0') len++; //計算s數組長度,也就查看用戶從鍵盤輸入了多少字元
i=len-1; //從最高位開始,也就是從最右側開始計算,比如s=1234ab,先從b開始計算
while (s[i]!='\0') //逐個讀取字元串s,第i位的具體字元值,s[i]是否有效
{
n=0; //s[i]是字元(char),s[i]轉換成10進制對應的值
if (s[i]>='0'&&s[i]<='9') //查ascii碼表
n=s[i]-48; //48即字元 '0'
else if (s[i]>='A'&&s[i]<='F') //A--F用來代表10進制下的10~15
n=10+s[i]-'A'; //s[i]是字元(char),s[i]轉換成10進制對應的值
t=1;
for (j=0; j<len-i-1; j++) t=t*k;
/* //以上語句等於如下形式,s[i]對應的倍率,假設k=10,就好理解
t=1; //個位,即i=len-1時
t=1*k; //十位 即i=len-2時
t=1*k*k; //百位
t=1*k*k*k; //千位
.....
*/
sum += n*t; //合計,個+十+百+千+...
i--;
}
return (sum);
}
main()
{
int sz;
char str[20];
scanf("%d %s",&sz,str);
if (sz<2||sz>16)
printf("輸入錯誤。\n");
else
printf("%d\n",base(sz,str));
}
⑸ 初學編程,大家幫忙看下這道c語言題怎麼做萬分感謝
先給你第一題的,網路知道的這個編輯器真的不適合粘貼代碼
#include<stdio.h>
#include<string.h>
#define MAX_ARRAY_SIZE 1024
#define MAX_MAP_SIZE 10
/* 輸入數組,連續輸入,如:aedabcdaeas */
int inputArray(char *buff) {
int len = 0;
/* 使用fgets來防止緩沖區溢出 */
if (NULL == fgets(buff, MAX_ARRAY_SIZE, stdin)) {
return 0;
}
len = strlen(buff);
/* fgets 返回的數據可能是換行符結尾的,也可能不是,對換行符結尾的進行處理 */
if (buff[len - 1] == ' ') {
buff[len - 1] = '